home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Network Support Library
/
RoseWare - Network Support Library.iso
/
apidev
/
alogin.exe
/
ALOGIN.TXT
next >
Wrap
Text File
|
1993-09-17
|
6KB
|
160 lines
NOVELL TECHNICAL INFORMATION DOCUMENT
TITLE: OBJs for System Call Encrypted Logins
DOCUMENT ID: TID000029
DOCUMENT REVISION: A
DATE: 01JUL93
ALERT STATUS: Yellow
INFORMATION TYPE: Symptom Solution
README FOR: ALOGIN.EXE
NOVELL PRODUCT and VERSION:
NetWare System Calls 1.0
ABSTRACT:
This file includes functions that allow you to perform a keyed login to a
NetWare 386 file server, as well as change or verify a bindery object's
password.
_________________________________________________________________
DISCLAIMER
THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL.
NOVELL MAKES EVERY EFFORT WITHIN ITS MEANS TO VERIFY THIS INFORMATION.
HOWEVER, THE INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION
ONLY. NOVELL MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS
INFORMATION.
_________________________________________________________________
Self-Extracting File Name: ALOGIN.EXE
Files Included Size Date Time
ALOGIN.TXT (This File)
SLOGIN.OBJ 3160 2-03-92 1:13a
README.DOC 1923 3-25-92 3:02p
MLOGIN.OBJ 3161 2-03-92 1:13a
CLOGIN.OBJ 3630 2-03-92 1:13a
LLOGIN.OBJ 3631 2-03-92 1:13a
SLOGINV.OBJ 3186 2-03-92 1:13a
MLOGINV.OBJ 3164 2-03-92 1:13a
CLOGINV.OBJ 3677 2-03-92 1:13a
LLOGINV.OBJ 3651 2-03-92 1:13a
LOGIN.TXT 4544 6-21-93 2:40p
Keyed Login Object Modules
Last Update: 02/03/92
This document describes the functions contained in the mLOGINx.OBJ files.
These functions allow you to perform a keyed login to a NetWare 3.x file
server as well as change or verify a bindery object's password. These OBJs
can be linked with languages using the Microsoft segment naming
conventions.
Object Naming Convention:
mLOGIN.OBJ
m is one of S,M,C or L for Small, Medium, Compact and Large
The VAP objects have a 'v' appended to the root name. i.e.
sLOGINv.OBJ - Small Model VAP object
IMPORTANT NOTES:
These functions all assume that you are attached, and the preferred
connection is set to the server that you want to login to or change the
password on. You must perform these APIs before calling the functions in
this object, or they will not work.
All Functions require approximately 220 bytes of stack space for local
variables. This does not include the overhead for calling DOS or the shell
via Int 21h. You must provide sufficient stack space for this. VAP users
need to allow for overhead of the NetWareShellServices API.
Objects are provided for the SMALL, MEDIUM, COMPACT and LARGE memory
models. There are three functions included in each object module:
_AsmLoginToFileServer (ObjName, ObjType, ObjPassword)
_AsmVerifyBinderyObjectPassword (ObjName, ObjType, ObjPassword)
_AsmChangeBinderyObjectPassword
(ObjName, ObjType, ObjOldPass, ObjNewPass)
Where:
ObjName - A pointer to the Object's Name
ObjType - The Object's Type i.e. 1 for USER, ...
ObjPassword - A pointer to the Object's Password.
ObjOldPass - A pointer to the Object's old Password.
ObjNewPass - A pointer to the Object's new Password.
NOTE:
All pointers are model dependant. i.e. 2 byte for small and medium model or
4 byte for compact and large.
Also, a global variable called __AsmDataElement has been declared.
__AsmDataElement is used to establish DS addressability BEFORE calling any
of the other APIs. This is ONLY needed if DS is NOT pointing to DGROUP.
If you will be calling the APIs without DS pointing to DGROUP, you need to
establish addressability first. To do this, just "MOV AX,SEG
__AsmDataElement", and "MOV DS,AX" before calling the API. Be sure to save
DS for your program! All functions return a status code in the AX
register. See your System Calls Documentation for a description of the
return codes.
Only registers SI, DI, BP, DS and ES are preserved. All others are
destroyed.
To call any of these functions, simply push the parameters onto the stack
in the reverse order i.e. right to left. Be sure to pass the correct
pointer size! Following are samples for calling a small and large model
function.
;Small Model Example
mov ax,offset DGROUP:Password ; user password
push ax
mov ax,1 ; type user
push ax
mov ax,offset DGROUP:Username ; user name
push ax
call near ptr _AsmLoginToFileServer
;Large Model Example
push ds
mov ax,offset DGROUP:Password ; user password
push ax
mov ax,1 ; type user
push ax
push ds
mov ax,offset DGROUP:Username ; user name
push ax
call far ptr _AsmLoginToFileServer
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Special Info for VAP users
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
This section applies only to users of the VAP routines.
You must provide a routine in your prelude module called:
'_CallNetWareShellServices'
which will perform a call to the NetWareShellServices entry point as
specified in the VAPs Header. Following is a sample of what it must look
like:
_CallNetWareShellServices proc ; for login.obj
public _CallNetWareShellServices
push ds ; save ds
xchg si,bx ; on entry si:bx pointer to
mov ds,bx ; request, make ds:si instead
call dword ptr cs:[NetWareShellServices]; call OS
pop ds ; restore ds
cbw ; return code in AX
ret
_CallNetWareShellServices endp ; for login.obj